# -*- coding: utf-8 -*-

__all__ = [
    # public symbols
    "SpatialReference",
    "MapPoint",
    "Envelope"
]


class SpatialReference(object):
    # 构造函数
    "定义空间参考"

    def __init__(self):
        self.__wkid = 0
        self.__wkt = ''

    # 公共属性
    @property
    def wkid(self):
        return self.__wkid

    @wkid.setter
    def wkid(self, value):
        self.__wkid = value

    @property
    def wkt(self):
        return self.__wkt

    @wkt.setter
    def wkt(self, value):
        self.__wkt = value


class MapPoint(object):
    # 构造函数
    def __init__(self):
        self.__spatialReference = None
        self.__x = 0
        self.__y = 0

    # 公共属性
    @property
    def x(self):
        return self.__x

    @x.setter
    def x(self, value):
        self.__x = value

    @property
    def y(self):
        return self.__y

    @y.setter
    def y(self, value):
        self.__y = value

    @property
    def spatialReference(self):
        return self.__spatialReference

    @spatialReference.setter
    def spatialReference(self, value):
        self.__spatialReference = value


class Envelope(object):
    # 构造函数---------------------------
    def __init__(self):
        self.__xmax = 0
        self.__xmin = 0
        self.__ymax = 0
        self.__ymin = 0

    # 公共属性---------------------------
    @property
    def xmax(self):
        return self.__xmax

    @xmax.setter
    def xmax(self, value):
        self.__xmax = value

    @property
    def xmin(self):
        return self.__xmin

    @xmin.setter
    def xmin(self, value):
        self.__xmin = value

    @property
    def ymax(self):
        return self.__ymax

    @ymax.setter
    def ymax(self, value):
        self.__ymax = value

    @property
    def ymin(self):
        return self.__ymin

    @ymin.setter
    def ymin(self, value):
        self.__ymin = value
